from pydantic import BaseModel, Field


class RegistrationRequestSchema(BaseModel):
    firstName: str = Field(default=None, example="Иван", description="Имя пользователя")
    lastName: str = Field(
        default=None, example="Иванов", description="Фамилия пользователя"
    )
    email: str = Field(
        default=None,
        example="example@example.com",
        description="Адрес электронной почты",
    )
    password: str = Field(
        default=None, example="password", description="Пароль пользователя"
    )


class RegistrationResponseSchema(BaseModel):
    id: int = Field(example=1, description="Идентификатор аккаунта пользователя")
    firstName: str = Field(default=None, example="Иван", description="Имя пользователя")
    lastName: str = Field(
        default=None, example="Иванов", description="Фамилия пользователя"
    )
    email: str = Field(
        default=None,
        example="example@example.com",
        description="Адрес электронной почты",
    )


class LoginRequestSchema(BaseModel):
    email: str = Field(
        default=None,
        example="example@example.com",
        description="Адрес электронной почты",
    )
    password: str = Field(
        default=None, example="password", description="Пароль пользователя"
    )


class LoginResponseSchema(BaseModel):
    id: int = Field(example=1, description="Идентификатор аккаунта пользователя")
